namespace ext.form
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>Configuration Structure</summary>
	/// <definedin>src\widgets\form\Combo.js</definedin>
	public sealed class ComboBox_Configuration : Record
	{
		
		#region Fields
		/// <summary>
		/// The id, DOM node or element of an existing HTML SELECT to convert to a ComboBox.
		/// Note that if you specify this and the combo is going to be in an {@link Ext.form.BasicForm} or
		/// {@link Ext.form.FormPanel}, you must also set {@link #lazyRender} = true.
		/// </summary>
		/// <htmlSummary>
		/// The id, DOM node or element of an existing HTML SELECT to convert to a ComboBox.
		/// Note that if you specify this and the combo is going to be in an {@link Ext.form.BasicForm} or
		/// {@link Ext.form.FormPanel}, you must also set &lt;tt&gt;{@link #lazyRender} = true&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("transform")]
		public object Transform;
		
		/// <summary>
		/// true to prevent the ComboBox from rendering until requested
		/// (should always be used when rendering into an {@link Ext.Editor} (e.g. {@link Ext.grid.EditorGridPanel Grids}),
		/// defaults to false).
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to prevent the ComboBox from rendering until requested
		/// (should always be used when rendering into an {@link Ext.Editor} (e.g. {@link Ext.grid.EditorGridPanel Grids}),
		/// defaults to &lt;tt&gt;false&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("lazyRender")]
		public bool LazyRender;
		
		/// <summary>
		/// A {@link Ext.DomHelper DomHelper} element spec, or true for a default
		/// element spec. Used to create the {@link Ext.Component#getEl Element} which will encapsulate this Component.
		/// See {@link Ext.Component#autoEl autoEl} for details. Defaults to:  {tag: &quot;input&quot;, type: &quot;text&quot;, size: &quot;24&quot;, autocomplete: &quot;off&quot;}
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A {@link Ext.DomHelper DomHelper} element spec, or &lt;tt&gt;true&lt;/tt&gt; for a default
		/// element spec. Used to create the {@link Ext.Component#getEl Element} which will encapsulate this Component.
		/// See &lt;tt&gt;{@link Ext.Component#autoEl autoEl}&lt;/tt&gt; for details. Defaults to:&lt;/p&gt;
		/// &lt;pre&gt;&lt;code&gt;{tag: &quot;input&quot;, type: &quot;text&quot;, size: &quot;24&quot;, autocomplete: &quot;off&quot;}&lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("autoCreate")]
		public ext.auto.System_String_Or_System_Object AutoCreate;
		
		/// <summary>
		/// The data source to which this combo is bound (defaults to undefined).
		/// Acceptable values for this property are:
		///   any {@link Ext.data.Store Store} subclass  an Array : Arrays will be converted to a {@link Ext.data.ArrayStore} internally,
		/// automatically generating {@link Ext.data.Field#name field names} to work with all data components.
		///   1-dimensional array : (e.g., [&apos;Foo&apos;,&apos;Bar&apos;]) 
		/// A 1-dimensional array will automatically be expanded (each array item will be used for both the combo
		/// {@link #valueField} and {@link #displayField})   2-dimensional array : (e.g., [[&apos;f&apos;,&apos;Foo&apos;],[&apos;b&apos;,&apos;Bar&apos;]]) 
		/// For a multi-dimensional array, the value in index 0 of each item will be assumed to be the combo
		/// {@link #valueField}, while the value at index 1 is assumed to be the combo {@link #displayField}.
		///        See also {@link #mode}.
		/// </summary>
		/// <htmlSummary>
		/// The data source to which this combo is bound (defaults to &lt;tt&gt;undefined&lt;/tt&gt;).
		/// Acceptable values for this property are:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;any {@link Ext.data.Store Store} subclass&lt;/b&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;an Array&lt;/b&gt; : Arrays will be converted to a {@link Ext.data.ArrayStore} internally,
		/// automatically generating {@link Ext.data.Field#name field names} to work with all data components.
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;1-dimensional array&lt;/b&gt; : (e.g., &lt;tt&gt;[&apos;Foo&apos;,&apos;Bar&apos;]&lt;/tt&gt;)&lt;div class=&quot;sub-desc&quot;&gt;
		/// A 1-dimensional array will automatically be expanded (each array item will be used for both the combo
		/// {@link #valueField} and {@link #displayField})&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;2-dimensional array&lt;/b&gt; : (e.g., &lt;tt&gt;[[&apos;f&apos;,&apos;Foo&apos;],[&apos;b&apos;,&apos;Bar&apos;]]&lt;/tt&gt;)&lt;div class=&quot;sub-desc&quot;&gt;
		/// For a multi-dimensional array, the value in index 0 of each item will be assumed to be the combo
		/// {@link #valueField}, while the value at index 1 is assumed to be the combo {@link #displayField}.
		/// &lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;
		/// &lt;p&gt;See also &lt;tt&gt;{@link #mode}&lt;/tt&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("store")]
		public ext.auto.ext_data_Store_Or_System_Array Store;
		
		/// <summary>
		/// If supplied, a header element is created containing this text and added into the top of
		/// the dropdown list (defaults to undefined, with no header element)
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("title")]
		public string Title;
		
		/// <summary>
		/// The width (used as a parameter to {@link Ext.Element#setWidth}) of the dropdown
		/// list (defaults to the width of the ComboBox field). See also {@link #minListWidth}
		/// </summary>
		/// <htmlSummary>
		/// The width (used as a parameter to {@link Ext.Element#setWidth}) of the dropdown
		/// list (defaults to the width of the ComboBox field). See also &lt;tt&gt;{@link #minListWidth}
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("listWidth")]
		public System.Number ListWidth;
		
		/// <summary>
		/// The underlying {@link Ext.data.Field#name data field name} to bind to this
		/// ComboBox (defaults to undefined if {@link #mode} = &apos;remote&apos; or &apos;field1&apos; if
		/// {@link #transform transforming a select} or if the {@link #store field name is autogenerated based on
		/// the store configuration}).
		/// See also {@link #valueField}.  Note: if using a ComboBox in an {@link Ext.grid.EditorGridPanel Editor Grid} a
		/// {@link Ext.grid.Column#renderer renderer} will be needed to show the displayField when the editor is not
		/// active.
		/// </summary>
		/// <htmlSummary>
		/// The underlying {@link Ext.data.Field#name data field name} to bind to this
		/// ComboBox (defaults to undefined if &lt;tt&gt;{@link #mode} = &apos;remote&apos;&lt;/tt&gt; or &lt;tt&gt;&apos;field1&apos;&lt;/tt&gt; if
		/// {@link #transform transforming a select} or if the {@link #store field name is autogenerated based on
		/// the store configuration}).
		/// &lt;p&gt;See also &lt;tt&gt;{@link #valueField}&lt;/tt&gt;.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: if using a ComboBox in an {@link Ext.grid.EditorGridPanel Editor Grid} a
		/// {@link Ext.grid.Column#renderer renderer} will be needed to show the displayField when the editor is not
		/// active.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("displayField")]
		public string DisplayField;
		
		/// <summary>
		/// The underlying {@link Ext.data.Field#name data value name} to bind to this
		/// ComboBox (defaults to undefined if {@link #mode} = &apos;remote&apos; or &apos;field2&apos; if
		/// {@link #transform transforming a select} or if the {@link #store field name is autogenerated based on
		/// the store configuration}).
		/// Note: use of a valueField requires the user to make a selection in order for a value to be
		/// mapped. See also {@link #hiddenName}, {@link #hiddenValue}, and {@link #displayField}.
		/// </summary>
		/// <htmlSummary>
		/// The underlying {@link Ext.data.Field#name data value name} to bind to this
		/// ComboBox (defaults to undefined if &lt;tt&gt;{@link #mode} = &apos;remote&apos;&lt;/tt&gt; or &lt;tt&gt;&apos;field2&apos;&lt;/tt&gt; if
		/// {@link #transform transforming a select} or if the {@link #store field name is autogenerated based on
		/// the store configuration}).
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: use of a &lt;tt&gt;valueField&lt;/tt&gt; requires the user to make a selection in order for a value to be
		/// mapped. See also &lt;tt&gt;{@link #hiddenName}&lt;/tt&gt;, &lt;tt&gt;{@link #hiddenValue}&lt;/tt&gt;, and &lt;tt&gt;{@link #displayField}&lt;/tt&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("valueField")]
		public string ValueField;
		
		/// <summary>
		/// If specified, a hidden form field with this name is dynamically generated to store the
		/// field&apos;s data value (defaults to the underlying DOM element&apos;s name). Required for the combo&apos;s value to automatically
		/// post during a form submission. See also {@link #valueField}.
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("hiddenName")]
		public string HiddenName;
		
		/// <summary>
		/// If {@link #hiddenName} is specified, hiddenId can also be provided
		/// to give the hidden field a unique id. The hiddenId and combo {@link Ext.Component#id id} should be
		/// different, since no two DOM nodes should share the same id.
		/// </summary>
		/// <htmlSummary>
		/// If &lt;tt&gt;{@link #hiddenName}&lt;/tt&gt; is specified, &lt;tt&gt;hiddenId&lt;/tt&gt; can also be provided
		/// to give the hidden field a unique id. The &lt;tt&gt;hiddenId&lt;/tt&gt; and combo {@link Ext.Component#id id} should be
		/// different, since no two DOM nodes should share the same id.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("hiddenId")]
		public string HiddenId;
		
		/// <summary>
		/// Sets the initial value of the hidden field if {@link #hiddenName} is
		/// specified to contain the selected {@link #valueField}, from the Store. Defaults to the configured
		/// {@link Ext.form.Field#value value}.
		/// </summary>
		/// <htmlSummary>
		/// Sets the initial value of the hidden field if {@link #hiddenName} is
		/// specified to contain the selected {@link #valueField}, from the Store. Defaults to the configured
		/// &lt;tt&gt;{@link Ext.form.Field#value value}&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("hiddenValue")]
		public string HiddenValue;
		
		/// <summary>
		/// The CSS class to add to the predefined &apos;x-combo-list&apos; class
		/// applied the dropdown list element (defaults to &apos;&apos;).
		/// </summary>
		/// <htmlSummary>
		/// The CSS class to add to the predefined &lt;tt&gt;&apos;x-combo-list&apos;&lt;/tt&gt; class
		/// applied the dropdown list element (defaults to &apos;&apos;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("listClass")]
		public string ListClass;
		
		/// <summary>
		/// CSS class to apply to the selected item in the dropdown list
		/// (defaults to &apos;x-combo-selected&apos;)
		/// </summary>
		/// <htmlSummary>
		/// CSS class to apply to the selected item in the dropdown list
		/// (defaults to &lt;tt&gt;&apos;x-combo-selected&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("selectedClass")]
		public string SelectedClass;
		
		/// <summary>
		/// The empty text to display in the data view if no items are found.
		/// (defaults to &apos;&apos;)
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("listEmptyText")]
		public string ListEmptyText;
		
		/// <summary>
		/// An additional CSS class used to style the trigger button. The trigger will always
		/// get the class &apos;x-form-trigger&apos; and triggerClass will be appended if specified
		/// (defaults to &apos;x-form-arrow-trigger&apos; which displays a downward arrow icon).
		/// </summary>
		/// <htmlSummary>
		/// An additional CSS class used to style the trigger button. The trigger will always
		/// get the class &lt;tt&gt;&apos;x-form-trigger&apos;&lt;/tt&gt; and &lt;tt&gt;triggerClass&lt;/tt&gt; will be &lt;b&gt;appended&lt;/b&gt; if specified
		/// (defaults to &lt;tt&gt;&apos;x-form-arrow-trigger&apos;&lt;/tt&gt; which displays a downward arrow icon).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("triggerClass")]
		public string TriggerClass;
		
		/// <summary>
		/// true or &quot;sides&quot; for the default effect, &quot;frame&quot; for
		/// 4-way shadow, and &quot;drop&quot; for bottom-right
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; or &lt;tt&gt;&quot;sides&quot;&lt;/tt&gt; for the default effect, &lt;tt&gt;&quot;frame&quot;&lt;/tt&gt; for
		/// 4-way shadow, and &lt;tt&gt;&quot;drop&quot;&lt;/tt&gt; for bottom-right
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("shadow")]
		public ext.auto.System_Boolean_Or_System_String Shadow;
		
		/// <summary>
		/// A valid anchor position value. See {@link Ext.Element#alignTo} for details
		/// on supported anchor positions and offsets. To specify x/y offsets as well, this value
		/// may be specified as an Array of {@link Ext.Element#alignTo} method arguments. [ &apos;tl-bl?&apos;, [6,0] ] (defaults to &apos;tl-bl?&apos;)
		/// </summary>
		/// <htmlSummary>
		/// A valid anchor position value. See &lt;tt&gt;{@link Ext.Element#alignTo}&lt;/tt&gt; for details
		/// on supported anchor positions and offsets. To specify x/y offsets as well, this value
		/// may be specified as an Array of &lt;tt&gt;{@link Ext.Element#alignTo}&lt;/tt&gt; method arguments.&lt;/p&gt;
		/// &lt;pre&gt;&lt;code&gt;[ &apos;tl-bl?&apos;, [6,0] ]&lt;/code&gt;&lt;/pre&gt;(defaults to &lt;tt&gt;&apos;tl-bl?&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("listAlign")]
		public ext.auto.System_String_Or_System_Array ListAlign;
		
		/// <summary>
		/// The maximum height in pixels of the dropdown list before scrollbars are shown
		/// (defaults to 300)
		/// </summary>
		/// <htmlSummary>
		/// The maximum height in pixels of the dropdown list before scrollbars are shown
		/// (defaults to &lt;tt&gt;300&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("maxHeight")]
		public System.Number MaxHeight;
		
		/// <summary>
		/// The minimum height in pixels of the dropdown list when the list is constrained by its
		/// distance to the viewport edges (defaults to 90)
		/// </summary>
		/// <htmlSummary>
		/// The minimum height in pixels of the dropdown list when the list is constrained by its
		/// distance to the viewport edges (defaults to &lt;tt&gt;90&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("minHeight")]
		public System.Number MinHeight;
		
		/// <summary>
		/// The action to execute when the trigger is clicked.
		///   &apos;query&apos; : Default {@link #doQuery run the query} using the {@link Ext.form.Field#getRawValue raw value}.   &apos;all&apos; :
		/// {@link #doQuery run the query} specified by the {@link #allQuery} config option     See also {@link #queryParam}.
		/// </summary>
		/// <htmlSummary>
		/// The action to execute when the trigger is clicked.
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;&apos;query&apos;&lt;/tt&gt;&lt;/b&gt; : &lt;b&gt;Default&lt;/b&gt;
		/// &lt;p class=&quot;sub-desc&quot;&gt;{@link #doQuery run the query} using the {@link Ext.form.Field#getRawValue raw value}.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;&apos;all&apos;&lt;/tt&gt;&lt;/b&gt; :
		/// &lt;p class=&quot;sub-desc&quot;&gt;{@link #doQuery run the query} specified by the &lt;tt&gt;{@link #allQuery}&lt;/tt&gt; config option&lt;/p&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// &lt;p&gt;See also &lt;code&gt;{@link #queryParam}&lt;/code&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("triggerAction")]
		public string TriggerAction;
		
		/// <summary>
		/// The minimum number of characters the user must type before autocomplete and
		/// {@link #typeAhead} activate (defaults to 4 if {@link #mode} = &apos;remote&apos; or 0 if
		/// {@link #mode} = &apos;local&apos;, does not apply if
		/// {@link Ext.form.TriggerField#editable editable} = false).
		/// </summary>
		/// <htmlSummary>
		/// The minimum number of characters the user must type before autocomplete and
		/// {@link #typeAhead} activate (defaults to &lt;tt&gt;4&lt;/tt&gt; if &lt;tt&gt;{@link #mode} = &apos;remote&apos;&lt;/tt&gt; or &lt;tt&gt;0&lt;/tt&gt; if
		/// &lt;tt&gt;{@link #mode} = &apos;local&apos;&lt;/tt&gt;, does not apply if
		/// &lt;tt&gt;{@link Ext.form.TriggerField#editable editable} = false&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("minChars")]
		public System.Number MinChars;
		
		/// <summary>
		/// true to select the first result gathered by the data store (defaults
		/// to true). A false value would require a manual selection from the dropdown list to set the components value
		/// unless the value of ({@link #typeAheadDelay}) were true.
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to select the first result gathered by the data store (defaults
		/// to &lt;tt&gt;true&lt;/tt&gt;). A false value would require a manual selection from the dropdown list to set the components value
		/// unless the value of ({@link #typeAheadDelay}) were true.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("autoSelect")]
		public bool AutoSelect;
		
		/// <summary>
		/// true to populate and autoselect the remainder of the text being
		/// typed after a configurable delay ({@link #typeAheadDelay}) if it matches a known value (defaults
		/// to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to populate and autoselect the remainder of the text being
		/// typed after a configurable delay ({@link #typeAheadDelay}) if it matches a known value (defaults
		/// to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("typeAhead")]
		public bool TypeAhead;
		
		/// <summary>
		/// The length of time in milliseconds to delay between the start of typing and
		/// sending the query to filter the dropdown list (defaults to 500 if {@link #mode} = &apos;remote&apos;
		/// or 10 if {@link #mode} = &apos;local&apos;)
		/// </summary>
		/// <htmlSummary>
		/// The length of time in milliseconds to delay between the start of typing and
		/// sending the query to filter the dropdown list (defaults to &lt;tt&gt;500&lt;/tt&gt; if &lt;tt&gt;{@link #mode} = &apos;remote&apos;&lt;/tt&gt;
		/// or &lt;tt&gt;10&lt;/tt&gt; if &lt;tt&gt;{@link #mode} = &apos;local&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("queryDelay")]
		public System.Number QueryDelay;
		
		/// <summary>
		/// If greater than 0, a {@link Ext.PagingToolbar} is displayed in the
		/// footer of the dropdown list and the {@link #doQuery filter queries} will execute with page start and
		/// {@link Ext.PagingToolbar#pageSize limit} parameters. Only applies when {@link #mode} = &apos;remote&apos;
		/// (defaults to 0).
		/// </summary>
		/// <htmlSummary>
		/// If greater than &lt;tt&gt;0&lt;/tt&gt;, a {@link Ext.PagingToolbar} is displayed in the
		/// footer of the dropdown list and the {@link #doQuery filter queries} will execute with page start and
		/// {@link Ext.PagingToolbar#pageSize limit} parameters. Only applies when &lt;tt&gt;{@link #mode} = &apos;remote&apos;&lt;/tt&gt;
		/// (defaults to &lt;tt&gt;0&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("pageSize")]
		public System.Number PageSize;
		
		/// <summary>
		/// true to select any existing text in the field immediately on focus.
		/// Only applies when {@link Ext.form.TriggerField#editable editable} = true (defaults to
		/// false).
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to select any existing text in the field immediately on focus.
		/// Only applies when &lt;tt&gt;{@link Ext.form.TriggerField#editable editable} = true&lt;/tt&gt; (defaults to
		/// &lt;tt&gt;false&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("selectOnFocus")]
		public bool SelectOnFocus;
		
		/// <summary>
		/// Name of the query ({@link Ext.data.Store#baseParam baseParam} name for the store)
		/// as it will be passed on the querystring (defaults to &apos;query&apos;)
		/// </summary>
		/// <htmlSummary>
		/// Name of the query ({@link Ext.data.Store#baseParam baseParam} name for the store)
		/// as it will be passed on the querystring (defaults to &lt;tt&gt;&apos;query&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("queryParam")]
		public string QueryParam;
		
		/// <summary>
		/// The text to display in the dropdown list while data is loading. Only applies
		/// when {@link #mode} = &apos;remote&apos; (defaults to &apos;Loading...&apos;)
		/// </summary>
		/// <htmlSummary>
		/// The text to display in the dropdown list while data is loading. Only applies
		/// when &lt;tt&gt;{@link #mode} = &apos;remote&apos;&lt;/tt&gt; (defaults to &lt;tt&gt;&apos;Loading...&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("loadingText")]
		public string LoadingText;
		
		/// <summary>
		/// true to add a resize handle to the bottom of the dropdown list
		/// (creates an {@link Ext.Resizable} with &apos;se&apos; {@link Ext.Resizable#pinned pinned} handles).
		/// Defaults to false.
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to add a resize handle to the bottom of the dropdown list
		/// (creates an {@link Ext.Resizable} with &apos;se&apos; {@link Ext.Resizable#pinned pinned} handles).
		/// Defaults to &lt;tt&gt;false&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("resizable")]
		public bool Resizable;
		
		/// <summary>
		/// The height in pixels of the dropdown list resize handle if
		/// {@link #resizable} = true (defaults to 8)
		/// </summary>
		/// <htmlSummary>
		/// The height in pixels of the dropdown list resize handle if
		/// &lt;tt&gt;{@link #resizable} = true&lt;/tt&gt; (defaults to &lt;tt&gt;8&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("handleHeight")]
		public System.Number HandleHeight;
		
		/// <summary>
		/// The text query to send to the server to return all records for the list
		/// with no filtering (defaults to &apos;&apos;)
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("allQuery")]
		public string AllQuery;
		
		/// <summary>
		/// Acceptable values are:
		///   &apos;remote&apos; : Default Automatically loads the {@link #store} the first time the trigger
		/// is clicked. If you do not want the store to be automatically loaded the first time the trigger is
		/// clicked, set to &apos;local&apos; and manually load the store. To force a requery of the store
		/// every time the trigger is clicked see {@link #lastQuery}.   &apos;local&apos; :
		/// ComboBox loads local data  
		/// var combo = new Ext.form.ComboBox({
		/// renderTo: document.body,
		/// mode: &apos;local&apos;,
		/// store: new Ext.data.ArrayStore({
		/// id: 0,
		/// fields: [
		/// &apos;myId&apos;, // numeric value is the key
		/// &apos;displayText&apos;
		/// ],
		/// data: [[1, &apos;item1&apos;], [2, &apos;item2&apos;]] // data is local
		/// }),
		/// valueField: &apos;myId&apos;,
		/// displayField: &apos;displayText&apos;,
		/// triggerAction: &apos;all&apos;
		/// });
		/// </summary>
		/// <htmlSummary>
		/// Acceptable values are:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;&apos;remote&apos;&lt;/tt&gt;&lt;/b&gt; : &lt;b&gt;Default&lt;/b&gt;
		/// &lt;p class=&quot;sub-desc&quot;&gt;Automatically loads the &lt;tt&gt;{@link #store}&lt;/tt&gt; the &lt;b&gt;first&lt;/b&gt; time the trigger
		/// is clicked. If you do not want the store to be automatically loaded the first time the trigger is
		/// clicked, set to &lt;tt&gt;&apos;local&apos;&lt;/tt&gt; and manually load the store. To force a requery of the store
		/// &lt;b&gt;every&lt;/b&gt; time the trigger is clicked see &lt;tt&gt;{@link #lastQuery}&lt;/tt&gt;.&lt;/p&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;&lt;tt&gt;&apos;local&apos;&lt;/tt&gt;&lt;/b&gt; :
		/// &lt;p class=&quot;sub-desc&quot;&gt;ComboBox loads local data&lt;/p&gt;
		/// &lt;pre&gt;&lt;code&gt;
		/// var combo = new Ext.form.ComboBox({
		/// renderTo: document.body,
		/// mode: &apos;local&apos;,
		/// store: new Ext.data.ArrayStore({
		/// id: 0,
		/// fields: [
		/// &apos;myId&apos;, // numeric value is the key
		/// &apos;displayText&apos;
		/// ],
		/// data: [[1, &apos;item1&apos;], [2, &apos;item2&apos;]] // data is local
		/// }),
		/// valueField: &apos;myId&apos;,
		/// displayField: &apos;displayText&apos;,
		/// triggerAction: &apos;all&apos;
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("mode")]
		public string Mode;
		
		/// <summary>
		/// The minimum width of the dropdown list in pixels (defaults to 70, will
		/// be ignored if {@link #listWidth} has a higher value)
		/// </summary>
		/// <htmlSummary>
		/// The minimum width of the dropdown list in pixels (defaults to &lt;tt&gt;70&lt;/tt&gt;, will
		/// be ignored if &lt;tt&gt;{@link #listWidth}&lt;/tt&gt; has a higher value)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("minListWidth")]
		public System.Number MinListWidth;
		
		/// <summary>
		/// true to restrict the selected value to one of the values in the list,
		/// false to allow the user to set arbitrary text into the field (defaults to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to restrict the selected value to one of the values in the list,
		/// &lt;tt&gt;false&lt;/tt&gt; to allow the user to set arbitrary text into the field (defaults to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("forceSelection")]
		public bool ForceSelection;
		
		/// <summary>
		/// The length of time in milliseconds to wait until the typeahead text is displayed
		/// if {@link #typeAhead} = true (defaults to 250)
		/// </summary>
		/// <htmlSummary>
		/// The length of time in milliseconds to wait until the typeahead text is displayed
		/// if &lt;tt&gt;{@link #typeAhead} = true&lt;/tt&gt; (defaults to &lt;tt&gt;250&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("typeAheadDelay")]
		public System.Number TypeAheadDelay;
		
		/// <summary>
		/// When using a name/value combo, if the value passed to setValue is not found in
		/// the store, valueNotFoundText will be displayed as the field text if defined (defaults to undefined). If this
		/// default text is used, it means there is no value set and no validation will occur on this field.
		/// </summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("valueNotFoundText")]
		public string ValueNotFoundText;
		
		/// <summary>
		/// true to not initialize the list for this combo until the field is focused
		/// (defaults to true)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to not initialize the list for this combo until the field is focused
		/// (defaults to &lt;tt&gt;true&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("lazyInit")]
		public bool LazyInit;
		
		/// <summary>
		/// true to clear any filters on the store (when in local mode) when reset is called
		/// (defaults to true)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to clear any filters on the store (when in local mode) when reset is called
		/// (defaults to &lt;tt&gt;true&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("clearFilterOnReset")]
		public bool ClearFilterOnReset;
		
		/// <summary>
		/// False to clear the name attribute on the field so that it is not submitted during a form post.
		/// If a hiddenName is specified, setting this to true will cause both the hidden field and the element to be submitted.
		/// Defaults to undefined.
		/// </summary>
		/// <htmlSummary>
		/// False to clear the name attribute on the field so that it is not submitted during a form post.
		/// If a hiddenName is specified, setting this to true will cause both the hidden field and the element to be submitted.
		/// Defaults to &lt;tt&gt;undefined&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("submitValue")]
		public bool SubmitValue;
		
		/// <summary>
		/// The template string, or {@link Ext.XTemplate} instance to
		/// use to display each item in the dropdown list. The dropdown list is displayed in a
		/// DataView. See {@link #view}.  The default template string is:  
		/// &apos;&amp;lt;tpl for=&quot;.&quot;&gt;&amp;lt;div class=&quot;x-combo-list-item&quot;&gt;{&apos; + this.displayField + &apos;}&amp;lt;/div&gt;&amp;lt;/tpl&gt;&apos;
		///  Override the default value to create custom UI layouts for items in the list.
		/// For example:  
		/// &apos;&amp;lt;tpl for=&quot;.&quot;&gt;&amp;lt;div ext:qtip=&quot;{state}. {nick}&quot; class=&quot;x-combo-list-item&quot;&gt;{state}&amp;lt;/div&gt;&amp;lt;/tpl&gt;&apos;
		///  The template must contain one or more substitution parameters using field
		/// names from the Combo&apos;s {@link #store Store}. In the example above an
		/// ext:qtip  attribute is added to display other fields from the Store.  To preserve the default visual look of list items, add the CSS class name
		/// x-combo-list-item  to the template&apos;s container element.  Also see {@link #itemSelector} for additional details.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;The template string, or {@link Ext.XTemplate} instance to
		/// use to display each item in the dropdown list. The dropdown list is displayed in a
		/// DataView. See {@link #view}.&lt;/p&gt;
		/// &lt;p&gt;The default template string is:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// &apos;&amp;lt;tpl for=&quot;.&quot;&gt;&amp;lt;div class=&quot;x-combo-list-item&quot;&gt;{&apos; + this.displayField + &apos;}&amp;lt;/div&gt;&amp;lt;/tpl&gt;&apos;
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;Override the default value to create custom UI layouts for items in the list.
		/// For example:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// &apos;&amp;lt;tpl for=&quot;.&quot;&gt;&amp;lt;div ext:qtip=&quot;{state}. {nick}&quot; class=&quot;x-combo-list-item&quot;&gt;{state}&amp;lt;/div&gt;&amp;lt;/tpl&gt;&apos;
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;The template &lt;b&gt;must&lt;/b&gt; contain one or more substitution parameters using field
		/// names from the Combo&apos;s&lt;/b&gt; {@link #store Store}. In the example above an
		/// &lt;pre&gt;ext:qtip&lt;/pre&gt; attribute is added to display other fields from the Store.&lt;/p&gt;
		/// &lt;p&gt;To preserve the default visual look of list items, add the CSS class name
		/// &lt;pre&gt;x-combo-list-item&lt;/pre&gt; to the template&apos;s container element.&lt;/p&gt;
		/// &lt;p&gt;Also see {@link #itemSelector} for additional details.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("tpl")]
		public ext.auto.System_String_Or_ext_XTemplate Tpl;
		
		/// <summary>
		/// A simple CSS selector (e.g. div.some-class or span:first-child) that will be
		/// used to determine what nodes the {@link #view Ext.DataView} which handles the dropdown
		/// display will be working with.  Note: this setting is required if a custom XTemplate has been
		/// specified in {@link #tpl} which assigns a class other than  &apos;x-combo-list-item&apos; 
		/// to dropdown list items
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A simple CSS selector (e.g. div.some-class or span:first-child) that will be
		/// used to determine what nodes the {@link #view Ext.DataView} which handles the dropdown
		/// display will be working with.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this setting is &lt;b&gt;required&lt;/b&gt; if a custom XTemplate has been
		/// specified in {@link #tpl} which assigns a class other than &lt;pre&gt;&apos;x-combo-list-item&apos;&lt;/pre&gt;
		/// to dropdown list items&lt;/b&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("itemSelector")]
		public string ItemSelector;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("grow")]
		public bool Grow;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("growMin")]
		public System.Number GrowMin;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\Combo.js</definedin>
		[ScriptName("growMax")]
		public System.Number GrowMax;
		#endregion
		
		#region ext.form.TriggerField_Configuration Members
		/// <summary>
		/// A {@link Ext.DomHelper DomHelper} config object specifying the structure of the
		/// trigger element for this Field. (Optional).  Specify this when you need a customized element to act as the trigger button for a TriggerField.  Note that when using this option, it is the developer&apos;s responsibility to ensure correct sizing, positioning
		/// and appearance of the trigger. Defaults to:  {tag: &quot;img&quot;, src: Ext.BLANK_IMAGE_URL, cls: &quot;x-form-trigger &quot; + this.triggerClass}
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A {@link Ext.DomHelper DomHelper} config object specifying the structure of the
		/// trigger element for this Field. (Optional).&lt;/p&gt;
		/// &lt;p&gt;Specify this when you need a customized element to act as the trigger button for a TriggerField.&lt;/p&gt;
		/// &lt;p&gt;Note that when using this option, it is the developer&apos;s responsibility to ensure correct sizing, positioning
		/// and appearance of the trigger. Defaults to:&lt;/p&gt;
		/// &lt;pre&gt;&lt;code&gt;{tag: &quot;img&quot;, src: Ext.BLANK_IMAGE_URL, cls: &quot;x-form-trigger &quot; + this.triggerClass}&lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TriggerField.js</definedin>
		[ScriptName("triggerConfig")]
		public object TriggerConfig;
		
		/// <summary>
		/// true to hide the trigger element and display only the base
		/// text field (defaults to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to hide the trigger element and display only the base
		/// text field (defaults to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TriggerField.js</definedin>
		[ScriptName("hideTrigger")]
		public bool HideTrigger;
		
		/// <summary>
		/// false to prevent the user from typing text directly into the field,
		/// the field will only respond to a click on the trigger to set the value. (defaults to true).
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;false&lt;/tt&gt; to prevent the user from typing text directly into the field,
		/// the field will only respond to a click on the trigger to set the value. (defaults to &lt;tt&gt;true&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TriggerField.js</definedin>
		[ScriptName("editable")]
		public bool Editable;
		
		/// <summary>
		/// true to prevent the user from changing the field, and
		/// hides the trigger. Superceeds the editable and hideTrigger options if the value is true.
		/// (defaults to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to prevent the user from changing the field, and
		/// hides the trigger. Superceeds the editable and hideTrigger options if the value is true.
		/// (defaults to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TriggerField.js</definedin>
		[ScriptName("readOnly")]
		public bool ReadOnly;
		
		/// <summary>
		/// The class added to the to the wrap of the trigger element. Defaults to
		/// x-trigger-wrap-focus.
		/// </summary>
		/// <htmlSummary>
		/// The class added to the to the wrap of the trigger element. Defaults to
		/// &lt;tt&gt;x-trigger-wrap-focus&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TriggerField.js</definedin>
		[ScriptName("wrapFocusClass")]
		public string WrapFocusClass;
		#endregion
		
		#region ext.form.TextField_Configuration Members
		/// <summary>
		/// A custom error message to display in place of the default message provided
		/// for the {@link #vtype} currently set for this field (defaults to &apos;&apos;). Note:
		/// only applies if {@link #vtype} is set, else ignored.
		/// </summary>
		/// <htmlSummary>
		/// A custom error message to display in place of the default message provided
		/// for the &lt;b&gt;&lt;code&gt;{@link #vtype}&lt;/code&gt;&lt;/b&gt; currently set for this field (defaults to &lt;tt&gt;&apos;&apos;&lt;/tt&gt;). &lt;b&gt;Note&lt;/b&gt;:
		/// only applies if &lt;b&gt;&lt;code&gt;{@link #vtype}&lt;/code&gt;&lt;/b&gt; is set, else ignored.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("vtypeText")]
		public string VtypeText;
		
		/// <summary>
		/// A JavaScript RegExp object used to strip unwanted content from the value
		/// before validation (defaults to null).
		/// </summary>
		/// <htmlSummary>
		/// A JavaScript RegExp object used to strip unwanted content from the value
		/// before validation (defaults to &lt;tt&gt;null&lt;/tt&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("stripCharsRe")]
		public System.RegularExpression StripCharsRe;
		
		/// <summary>A validation type name as defined in {@link Ext.form.VTypes} (defaults to null)</summary>
		/// <htmlSummary>A validation type name as defined in {@link Ext.form.VTypes} (defaults to &lt;tt&gt;null&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("vtype")]
		public string Vtype;
		
		/// <summary>
		/// An input mask regular expression that will be used to filter keystrokes that do
		/// not match (defaults to null)
		/// </summary>
		/// <htmlSummary>
		/// An input mask regular expression that will be used to filter keystrokes that do
		/// not match (defaults to &lt;tt&gt;null&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("maskRe")]
		public System.RegularExpression MaskRe;
		
		/// <summary>
		/// Specify true to disable input keystroke filtering (defaults
		/// to false)
		/// </summary>
		/// <htmlSummary>
		/// Specify &lt;tt&gt;true&lt;/tt&gt; to disable input keystroke filtering (defaults
		/// to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("disableKeyFilter")]
		public bool DisableKeyFilter;
		
		/// <summary>
		/// Specify false to validate that the value&apos;s length is &gt; 0 (defaults to
		/// true)
		/// </summary>
		/// <htmlSummary>
		/// Specify &lt;tt&gt;false&lt;/tt&gt; to validate that the value&apos;s length is &gt; 0 (defaults to
		/// &lt;tt&gt;true&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("allowBlank")]
		public bool AllowBlank;
		
		/// <summary>Minimum input field length required (defaults to 0)</summary>
		/// <htmlSummary>Minimum input field length required (defaults to &lt;tt&gt;0&lt;/tt&gt;)</htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("minLength")]
		public System.Number MinLength;
		
		/// <summary>
		/// Maximum input field length allowed by validation (defaults to Number.MAX_VALUE).
		/// This behavior is intended to provide instant feedback to the user by improving usability to allow pasting
		/// and editing or overtyping and back tracking. To restrict the maximum number of characters that can be
		/// entered into the field use {@link Ext.form.Field#autoCreate autoCreate} to add
		/// any attributes you want to a field, for example: 
		/// var myField = new Ext.form.NumberField({
		/// id: &apos;mobile&apos;,
		/// anchor:&apos;90%&apos;,
		/// fieldLabel: &apos;Mobile&apos;,
		/// maxLength: 16, // for validation
		/// autoCreate: {tag: &apos;input&apos;, type: &apos;text&apos;, size: &apos;20&apos;, autocomplete: &apos;off&apos;, maxlength: &apos;10&apos;}
		/// });
		/// </summary>
		/// <htmlSummary>
		/// Maximum input field length allowed by validation (defaults to Number.MAX_VALUE).
		/// This behavior is intended to provide instant feedback to the user by improving usability to allow pasting
		/// and editing or overtyping and back tracking. To restrict the maximum number of characters that can be
		/// entered into the field use &lt;tt&gt;&lt;b&gt;{@link Ext.form.Field#autoCreate autoCreate}&lt;/b&gt;&lt;/tt&gt; to add
		/// any attributes you want to a field, for example:&lt;pre&gt;&lt;code&gt;
		/// var myField = new Ext.form.NumberField({
		/// id: &apos;mobile&apos;,
		/// anchor:&apos;90%&apos;,
		/// fieldLabel: &apos;Mobile&apos;,
		/// maxLength: 16, // for validation
		/// autoCreate: {tag: &apos;input&apos;, type: &apos;text&apos;, size: &apos;20&apos;, autocomplete: &apos;off&apos;, maxlength: &apos;10&apos;}
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("maxLength")]
		public System.Number MaxLength;
		
		/// <summary>
		/// Error text to display if the {@link #minLength minimum length}
		/// validation fails (defaults to &apos;The minimum length for this field is {minLength}&apos;)
		/// </summary>
		/// <htmlSummary>
		/// Error text to display if the &lt;b&gt;&lt;tt&gt;{@link #minLength minimum length}&lt;/tt&gt;&lt;/b&gt;
		/// validation fails (defaults to &lt;tt&gt;&apos;The minimum length for this field is {minLength}&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("minLengthText")]
		public string MinLengthText;
		
		/// <summary>
		/// Error text to display if the {@link #maxLength maximum length}
		/// validation fails (defaults to &apos;The maximum length for this field is {maxLength}&apos;)
		/// </summary>
		/// <htmlSummary>
		/// Error text to display if the &lt;b&gt;&lt;tt&gt;{@link #maxLength maximum length}&lt;/tt&gt;&lt;/b&gt;
		/// validation fails (defaults to &lt;tt&gt;&apos;The maximum length for this field is {maxLength}&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("maxLengthText")]
		public string MaxLengthText;
		
		/// <summary>
		/// The error text to display if the {@link #allowBlank} validation
		/// fails (defaults to &apos;This field is required&apos;)
		/// </summary>
		/// <htmlSummary>
		/// The error text to display if the &lt;b&gt;&lt;tt&gt;{@link #allowBlank}&lt;/tt&gt;&lt;/b&gt; validation
		/// fails (defaults to &lt;tt&gt;&apos;This field is required&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("blankText")]
		public string BlankText;
		
		/// <summary>
		/// A custom validation function to be called during field validation ({@link #validateValue})
		/// (defaults to null). If specified, this function will be called first, allowing the
		/// developer to override the default validation process.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A custom validation function to be called during field validation ({@link #validateValue})
		/// (defaults to &lt;tt&gt;null&lt;/tt&gt;). If specified, this function will be called first, allowing the
		/// developer to override the default validation process.&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;This function will be passed the following Parameters:&lt;/p&gt;
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;code&gt;value&lt;/code&gt;: &lt;i&gt;Mixed&lt;/i&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;The current field value&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// &lt;br&gt;&lt;p&gt;This function is to Return:&lt;/p&gt;
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;code&gt;true&lt;/code&gt;: &lt;i&gt;Boolean&lt;/i&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;&lt;code&gt;true&lt;/code&gt; if the value is valid&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;msg&lt;/code&gt;: &lt;i&gt;String&lt;/i&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;An error message if the value is invalid&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("validator")]
		public System.Delegate Validator;
		
		/// <summary>
		/// A JavaScript RegExp object to be tested against the field value during validation
		/// (defaults to null). If the test fails, the field will be marked invalid using
		/// {@link #regexText}.
		/// </summary>
		/// <htmlSummary>
		/// A JavaScript RegExp object to be tested against the field value during validation
		/// (defaults to &lt;tt&gt;null&lt;/tt&gt;). If the test fails, the field will be marked invalid using
		/// &lt;b&gt;&lt;tt&gt;{@link #regexText}&lt;/tt&gt;&lt;/b&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("regex")]
		public System.RegularExpression Regex;
		
		/// <summary>
		/// The error text to display if {@link #regex} is used and the
		/// test fails during validation (defaults to &apos;&apos;)
		/// </summary>
		/// <htmlSummary>
		/// The error text to display if &lt;b&gt;&lt;tt&gt;{@link #regex}&lt;/tt&gt;&lt;/b&gt; is used and the
		/// test fails during validation (defaults to &lt;tt&gt;&apos;&apos;&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("regexText")]
		public string RegexText;
		
		/// <summary>
		/// The default text to place into an empty field (defaults to null).
		/// Note: that this value will be submitted to the server if this field is enabled and configured
		/// with a {@link #name}.
		/// </summary>
		/// <htmlSummary>
		/// The default text to place into an empty field (defaults to &lt;tt&gt;null&lt;/tt&gt;).
		/// &lt;b&gt;Note&lt;/b&gt;: that this value will be submitted to the server if this field is enabled and configured
		/// with a {@link #name}.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("emptyText")]
		public string EmptyText;
		
		/// <summary>
		/// The CSS class to apply to an empty field to style the {@link #emptyText}
		/// (defaults to &apos;x-form-empty-field&apos;). This class is automatically added and removed as needed
		/// depending on the current field value.
		/// </summary>
		/// <htmlSummary>
		/// The CSS class to apply to an empty field to style the &lt;b&gt;&lt;tt&gt;{@link #emptyText}&lt;/tt&gt;&lt;/b&gt;
		/// (defaults to &lt;tt&gt;&apos;x-form-empty-field&apos;&lt;/tt&gt;). This class is automatically added and removed as needed
		/// depending on the current field value.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("emptyClass")]
		public string EmptyClass;
		
		/// <summary>
		/// true to enable the proxying of key events for the HTML input
		/// field (defaults to false)
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to enable the proxying of key events for the HTML input
		/// field (defaults to &lt;tt&gt;false&lt;/tt&gt;)
		/// </htmlSummary>
		/// <definedin>src\widgets\form\TextField.js</definedin>
		[ScriptName("enableKeyEvents")]
		public bool EnableKeyEvents;
		#endregion
		
		#region ext.form.Field_Configuration Members
		/// <summary>
		/// The type attribute for input fields -- e.g. radio, text, password, file (defaults
		/// to &apos;text&apos;). The types &apos;file&apos; and &apos;password&apos; must be used to render those field types currently -- there are
		/// no separate Ext components for those. Note that if you use inputType:&apos;file&apos;, {@link #emptyText}
		/// is not supported and should be avoided.
		/// </summary>
		/// <htmlSummary>
		/// The type attribute for input fields -- e.g. radio, text, password, file (defaults
		/// to &apos;text&apos;). The types &apos;file&apos; and &apos;password&apos; must be used to render those field types currently -- there are
		/// no separate Ext components for those. Note that if you use &lt;tt&gt;inputType:&apos;file&apos;&lt;/tt&gt;, {@link #emptyText}
		/// is not supported and should be avoided.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("inputType")]
		public string InputType;
		
		/// <summary>
		/// The tabIndex for this field. Note this only applies to fields that are rendered,
		/// not those which are built via applyTo (defaults to undefined).
		/// </summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("tabIndex")]
		public System.Number TabIndex;
		
		/// <summary>A value to initialize this field with (defaults to undefined).</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("value")]
		public object Value;
		
		/// <summary>
		/// The field&apos;s HTML name attribute (defaults to &apos;&apos;).
		/// Note: this property must be set if this field is to be automatically included with
		/// {@link Ext.form.BasicForm#submit form submit()}.
		/// </summary>
		/// <htmlSummary>
		/// The field&apos;s HTML name attribute (defaults to &apos;&apos;).
		/// &lt;b&gt;Note&lt;/b&gt;: this property must be set if this field is to be automatically included with
		/// {@link Ext.form.BasicForm#submit form submit()}.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("name")]
		public string Name;
		
		/// <summary>A custom CSS class to apply to the field&apos;s underlying element (defaults to &apos;&apos;).</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("cls")]
		public string Cls;
		
		/// <summary>The CSS class to use when marking a field invalid (defaults to &apos;x-form-invalid&apos;)</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("invalidClass")]
		public string InvalidClass;
		
		/// <summary>
		/// The error text to use when marking a field invalid and no message is provided
		/// (defaults to &apos;The value in this field is invalid&apos;)
		/// </summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("invalidText")]
		public string InvalidText;
		
		/// <summary>The CSS class to use when the field receives focus (defaults to &apos;x-form-focus&apos;)</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("focusClass")]
		public string FocusClass;
		
		/// <summary>
		/// true to disable {@link #markInvalid marking the field invalid}.
		/// Defaults to false.
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;true&lt;/tt&gt; to disable {@link #markInvalid marking the field invalid}.
		/// Defaults to &lt;tt&gt;false&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("preventMark")]
		public bool PreventMark;
		
		/// <summary>
		/// The event that should initiate field validation. Set to false to disable
		/// automatic validation (defaults to &apos;keyup&apos;).
		/// </summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("validationEvent")]
		public ext.auto.System_Boolean_Or_System_String ValidationEvent;
		
		/// <summary>Whether the field should validate when it loses focus (defaults to true).</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("validateOnBlur")]
		public bool ValidateOnBlur;
		
		/// <summary>
		/// The length of time in milliseconds after user input begins until validation
		/// is initiated (defaults to 250)
		/// </summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("validationDelay")]
		public System.Number ValidationDelay;
		
		/// <summary>The default CSS class for the field (defaults to &apos;x-form-field&apos;)</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("fieldClass")]
		public string FieldClass;
		
		/// <summary>
		/// The location where the message text set through {@link #markInvalid} should display.
		/// Must be one of the following values:    qtip Display a quick tip containing the message when the user hovers over the field. This is the default.
		/// {@link Ext.QuickTips#init Ext.QuickTips.init} must have been called for this setting to work.  title Display the message in a default browser title attribute popup.  under Add a block div beneath the field containing the error message.  side Add an error icon to the right of the field, displaying the message in a popup on hover.  [element id] Add the error message directly to the innerHTML of the specified element.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;The location where the message text set through {@link #markInvalid} should display.
		/// Must be one of the following values:&lt;/p&gt;
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;code&gt;qtip&lt;/code&gt; Display a quick tip containing the message when the user hovers over the field. This is the default.
		/// &lt;div class=&quot;subdesc&quot;&gt;&lt;b&gt;{@link Ext.QuickTips#init Ext.QuickTips.init} must have been called for this setting to work.&lt;/b&gt;&lt;/div&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;title&lt;/code&gt; Display the message in a default browser title attribute popup.&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;under&lt;/code&gt; Add a block div beneath the field containing the error message.&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;side&lt;/code&gt; Add an error icon to the right of the field, displaying the message in a popup on hover.&lt;/li&gt;
		/// &lt;li&gt;&lt;code&gt;[element id]&lt;/code&gt; Add the error message directly to the innerHTML of the specified element.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("msgTarget")]
		public string MsgTarget;
		
		/// <summary>
		/// Experimental The effect used when displaying a validation message under the field
		/// (defaults to &apos;normal&apos;).
		/// </summary>
		/// <htmlSummary>
		/// &lt;b&gt;Experimental&lt;/b&gt; The effect used when displaying a validation message under the field
		/// (defaults to &apos;normal&apos;).
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("msgFx")]
		public string MsgFx;
		
		/// <summary>
		/// True to disable the field (defaults to false).
		/// Be aware that conformant with the HTML specification,
		/// disabled Fields will not be {@link Ext.form.BasicForm#submit submitted}.
		/// </summary>
		/// <htmlSummary>
		/// True to disable the field (defaults to false).
		/// &lt;p&gt;Be aware that conformant with the &lt;a href=&quot;http://www.w3.org/TR/html401/interact/forms.html#h-17.12.1&quot;&gt;HTML specification&lt;/a&gt;,
		/// disabled Fields will not be {@link Ext.form.BasicForm#submit submitted}.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("disabled")]
		public bool Disabled;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("autoWidth")]
		public bool AutoWidth;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("autoHeight")]
		public bool AutoHeight;
		
		/// <summary>@hide</summary>
		/// <definedin>src\widgets\form\Field.js</definedin>
		[ScriptName("autoEl")]
		public string AutoEl;
		#endregion
		
		#region ext.BoxComponent_Configuration Members
		/// <summary>
		/// Note: this config is only used when this Component is rendered
		/// by a Container which has been configured to use a {@link Ext.layout.BoxLayout BoxLayout}.
		/// Each child Component with a flex property will be flexed either vertically (by a VBoxLayout)
		/// or horizontally (by an HBoxLayout) according to the item&apos;s relativeflex value
		/// compared to the sum of all Components with flex value specified. Any child items that have
		/// either a flex = 0 or flex = undefined will not be &apos;flexed&apos; (the initial size will not be changed).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this Component is rendered
		/// by a Container which has been configured to use a &lt;b&gt;{@link Ext.layout.BoxLayout BoxLayout}.&lt;/b&gt;
		/// Each child Component with a &lt;code&gt;flex&lt;/code&gt; property will be flexed either vertically (by a VBoxLayout)
		/// or horizontally (by an HBoxLayout) according to the item&apos;s &lt;b&gt;relative&lt;/b&gt; &lt;code&gt;flex&lt;/code&gt; value
		/// compared to the sum of all Components with &lt;code&gt;flex&lt;/code&gt; value specified. Any child items that have
		/// either a &lt;code&gt;flex = 0&lt;/code&gt; or &lt;code&gt;flex = undefined&lt;/code&gt; will not be &apos;flexed&apos; (the initial size will not be changed).
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("flex")]
		public System.Number Flex;
		
		/// <summary>
		/// Note: this config is only used when this Component is rendered
		/// by a Container which has been configured to use an {@link Ext.layout.AnchorLayout AnchorLayout} (or subclass thereof).
		/// based layout manager, for example:   {@link Ext.form.FormPanel}  specifying layout: &apos;anchor&apos; // or &apos;form&apos;, or &apos;absolute&apos;     See {@link Ext.layout.AnchorLayout}.{@link Ext.layout.AnchorLayout#anchor anchor} also.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this Component is rendered
		/// by a Container which has been configured to use an &lt;b&gt;{@link Ext.layout.AnchorLayout AnchorLayout} (or subclass thereof).&lt;/b&gt;
		/// based layout manager, for example:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;{@link Ext.form.FormPanel}&lt;/li&gt;
		/// &lt;li&gt;specifying &lt;code&gt;layout: &apos;anchor&apos; // or &apos;form&apos;, or &apos;absolute&apos;&lt;/code&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;&lt;/p&gt;
		/// &lt;p&gt;See {@link Ext.layout.AnchorLayout}.{@link Ext.layout.AnchorLayout#anchor anchor} also.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("anchor")]
		public string Anchor;
		
		/// <summary>
		/// Note: this config is only used when this BoxComponent is a child item of a TabPanel. 
		/// A string to be used as innerHTML (html tags are accepted) to show in a tooltip when mousing over
		/// the associated tab selector element. {@link Ext.QuickTips}.init()
		/// must be called in order for the tips to render.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this BoxComponent is a child item of a TabPanel.&lt;/p&gt;
		/// A string to be used as innerHTML (html tags are accepted) to show in a tooltip when mousing over
		/// the associated tab selector element. {@link Ext.QuickTips}.init()
		/// must be called in order for the tips to render.
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("tabTip")]
		public string TabTip;
		
		/// <summary>
		/// Note: this config is only used when this BoxComponent is rendered
		/// by a Container which has been configured to use the {@link Ext.layout.BorderLayout BorderLayout}
		/// layout manager (e.g. specifying layout:&apos;border&apos;).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this BoxComponent is rendered
		/// by a Container which has been configured to use the &lt;b&gt;{@link Ext.layout.BorderLayout BorderLayout}&lt;/b&gt;
		/// layout manager (e.g. specifying &lt;tt&gt;layout:&apos;border&apos;&lt;/tt&gt;).&lt;/p&gt;&lt;br&gt;
		/// &lt;p&gt;See {@link Ext.layout.BorderLayout} also.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("region")]
		public string Region;
		
		/// <summary>
		/// Note: this config is only used when this BoxComponent is rendered
		/// by a Container which has been configured to use the {@link Ext.layout.BorderLayout BorderLayout}
		/// or one of the two {@link Ext.layout.BoxLayout BoxLayout} subclasses.  An object containing margins to apply to this BoxComponent in the
		/// format:  
		/// {
		/// top: (top margin),
		/// right: (right margin),
		/// bottom: (bottom margin),
		/// left: (left margin)
		/// }  May also be a string containing space-separated, numeric margin values. The order of the
		/// sides associated with each value matches the way CSS processes margin values:     If there is only one value, it applies to all sides.  If there are two values, the top and bottom borders are set to the first value and the
		/// right and left are set to the second.  If there are three values, the top is set to the first value, the left and right are set
		/// to the second, and the bottom is set to the third.  If there are four values, they apply to the top, right, bottom, and left,...
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this BoxComponent is rendered
		/// by a Container which has been configured to use the &lt;b&gt;{@link Ext.layout.BorderLayout BorderLayout}&lt;/b&gt;
		/// or one of the two &lt;b&gt;{@link Ext.layout.BoxLayout BoxLayout} subclasses.&lt;/b&gt;&lt;/p&gt;
		/// &lt;p&gt;An object containing margins to apply to this BoxComponent in the
		/// format:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// {
		/// top: (top margin),
		/// right: (right margin),
		/// bottom: (bottom margin),
		/// left: (left margin)
		/// }&lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;May also be a string containing space-separated, numeric margin values. The order of the
		/// sides associated with each value matches the way CSS processes margin values:&lt;/p&gt;
		/// &lt;p&gt;&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;If there is only one value, it applies to all sides.&lt;/li&gt;
		/// &lt;li&gt;If there are two values, the top and bottom borders are set to the first value and the
		/// right and left are set to the second.&lt;/li&gt;
		/// &lt;li&gt;If there are three values, the top is set to the first value, the left and right are set
		/// to the second, and the bottom is set to the third.&lt;/li&gt;
		/// &lt;li&gt;If there are four values, they apply to the top, right, bottom, and left, respectively.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;&lt;/p&gt;
		/// &lt;p&gt;Defaults to:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// {top:0, right:0, bottom:0, left:0}
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("margins")]
		public object Margins;
		
		/// <summary>The local x (left) coordinate for this component if contained within a positioning container.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("x")]
		public System.Number X;
		
		/// <summary>The local y (top) coordinate for this component if contained within a positioning container.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("y")]
		public System.Number Y;
		
		/// <summary>The page level x coordinate for this component if contained within a positioning container.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("pageX")]
		public System.Number PageX;
		
		/// <summary>The page level y coordinate for this component if contained within a positioning container.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("pageY")]
		public System.Number PageY;
		
		/// <summary>
		/// The height of this component in pixels (defaults to auto).
		/// Note to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
		/// </summary>
		/// <htmlSummary>
		/// The height of this component in pixels (defaults to auto).
		/// &lt;b&gt;Note&lt;/b&gt; to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("height")]
		public System.Number Height;
		
		/// <summary>
		/// The width of this component in pixels (defaults to auto).
		/// Note to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
		/// </summary>
		/// <htmlSummary>
		/// The width of this component in pixels (defaults to auto).
		/// &lt;b&gt;Note&lt;/b&gt; to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("width")]
		public System.Number Width;
		
		/// <summary>The minimum value in pixels which this BoxComponent will set its height to.  Warning: This will override any size management applied by layout managers.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The minimum value in pixels which this BoxComponent will set its height to.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; This will override any size management applied by layout managers.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("boxMinHeight")]
		public System.Number BoxMinHeight;
		
		/// <summary>The minimum value in pixels which this BoxComponent will set its width to.  Warning: This will override any size management applied by layout managers.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The minimum value in pixels which this BoxComponent will set its width to.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; This will override any size management applied by layout managers.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("boxMinWidth")]
		public System.Number BoxMinWidth;
		
		/// <summary>The maximum value in pixels which this BoxComponent will set its height to.  Warning: This will override any size management applied by layout managers.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The maximum value in pixels which this BoxComponent will set its height to.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; This will override any size management applied by layout managers.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("boxMaxHeight")]
		public System.Number BoxMaxHeight;
		
		/// <summary>The maximum value in pixels which this BoxComponent will set its width to.  Warning: This will override any size management applied by layout managers.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The maximum value in pixels which this BoxComponent will set its width to.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; This will override any size management applied by layout managers.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("boxMaxWidth")]
		public System.Number BoxMaxWidth;
		
		/// <summary>
		/// true to use overflow:&apos;auto&apos; on the components layout element and show scroll bars automatically when
		/// necessary, false to clip any overflowing content (defaults to false).
		/// </summary>
		/// <htmlSummary>
		/// &lt;code&gt;true&lt;/code&gt; to use overflow:&apos;auto&apos; on the components layout element and show scroll bars automatically when
		/// necessary, &lt;code&gt;false&lt;/code&gt; to clip any overflowing content (defaults to &lt;code&gt;false&lt;/code&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("autoScroll")]
		public bool AutoScroll;
		
		/// <summary>The label text to display next to this Component (defaults to &apos;&apos;).</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The label text to display next to this Component (defaults to &apos;&apos;).&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this Component is rendered by a Container which
		/// has been configured to use the &lt;b&gt;{@link Ext.layout.FormLayout FormLayout}&lt;/b&gt; layout manager (e.g.
		/// {@link Ext.form.FormPanel} or specifying &lt;tt&gt;layout:&apos;form&apos;&lt;/tt&gt;).&lt;/p&gt;&lt;br&gt;
		/// &lt;p&gt;Also see &lt;tt&gt;{@link #hideLabel}&lt;/tt&gt; and
		/// {@link Ext.layout.FormLayout}.{@link Ext.layout.FormLayout#fieldTpl fieldTpl}.&lt;/p&gt;
		/// Example use:&lt;pre&gt;&lt;code&gt;
		/// new Ext.FormPanel({
		/// height: 100,
		/// renderTo: Ext.getBody(),
		/// items: [{
		/// xtype: &apos;textfield&apos;,
		/// fieldLabel: &apos;Name&apos;
		/// }]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("fieldLabel")]
		public string FieldLabel;
		
		/// <summary>
		/// A CSS style specification string to apply directly to this field&apos;s
		/// label. Defaults to the container&apos;s labelStyle value if set (e.g.,
		/// {@link Ext.layout.FormLayout#labelStyle} , or &apos;&apos;).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A CSS style specification string to apply directly to this field&apos;s
		/// label. Defaults to the container&apos;s labelStyle value if set (e.g.,
		/// &lt;tt&gt;{@link Ext.layout.FormLayout#labelStyle}&lt;/tt&gt; , or &apos;&apos;).&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: see the note for &lt;code&gt;{@link #clearCls}&lt;/code&gt;.&lt;/p&gt;&lt;br&gt;
		/// &lt;p&gt;Also see &lt;code&gt;{@link #hideLabel}&lt;/code&gt; and
		/// &lt;code&gt;{@link Ext.layout.FormLayout}.{@link Ext.layout.FormLayout#fieldTpl fieldTpl}.&lt;/code&gt;&lt;/p&gt;
		/// Example use:&lt;pre&gt;&lt;code&gt;
		/// new Ext.FormPanel({
		/// height: 100,
		/// renderTo: Ext.getBody(),
		/// items: [{
		/// xtype: &apos;textfield&apos;,
		/// fieldLabel: &apos;Name&apos;,
		/// labelStyle: &apos;font-weight:bold;&apos;
		/// }]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("labelStyle")]
		public string LabelStyle;
		
		/// <summary>
		/// The separator to display after the text of each
		/// {@link #fieldLabel}. This property may be configured at various levels.
		/// The order of precedence is:
		///   field / component level  container level  {@link Ext.layout.FormLayout#labelSeparator layout level} (defaults to colon &apos;:&apos;)   
		/// To display no separator for this field&apos;s label specify empty string &apos;&apos;.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;The separator to display after the text of each
		/// &lt;tt&gt;{@link #fieldLabel}&lt;/tt&gt;. This property may be configured at various levels.
		/// The order of precedence is:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;field / component level&lt;/li&gt;
		/// &lt;li&gt;container level&lt;/li&gt;
		/// &lt;li&gt;{@link Ext.layout.FormLayout#labelSeparator layout level} (defaults to colon &lt;tt&gt;&apos;:&apos;&lt;/tt&gt;)&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// To display no separator for this field&apos;s label specify empty string &apos;&apos;.&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: see the note for &lt;tt&gt;{@link #clearCls}&lt;/tt&gt;.&lt;/p&gt;&lt;br&gt;
		/// &lt;p&gt;Also see &lt;tt&gt;{@link #hideLabel}&lt;/tt&gt; and
		/// {@link Ext.layout.FormLayout}.{@link Ext.layout.FormLayout#fieldTpl fieldTpl}.&lt;/p&gt;
		/// Example use:&lt;pre&gt;&lt;code&gt;
		/// new Ext.FormPanel({
		/// height: 100,
		/// renderTo: Ext.getBody(),
		/// layoutConfig: {
		/// labelSeparator: &apos;~&apos; // layout config has lowest priority (defaults to &apos;:&apos;)
		/// },
		/// {@link Ext.layout.FormLayout#labelSeparator labelSeparator}: &apos;&gt;&gt;&apos;, // config at container level
		/// items: [{
		/// xtype: &apos;textfield&apos;,
		/// fieldLabel: &apos;Field 1&apos;,
		/// labelSeparator: &apos;...&apos; // field/component level config supersedes others
		/// },{
		/// xtype: &apos;textfield&apos;,
		/// fieldLabel: &apos;Field 2&apos; // labelSeparator will be &apos;=&apos;
		/// }]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("labelSeparator")]
		public string LabelSeparator;
		
		/// <summary>
		/// true to completely hide the label element
		/// ({@link #fieldLabel label} and {@link #labelSeparator separator}). Defaults to false.
		/// By default, even if you do not specify a {@link #fieldLabel} the space will still be
		/// reserved so that the field will line up with other fields that do have labels.
		/// Setting this to true will cause the field to not reserve that space.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;tt&gt;true&lt;/tt&gt; to completely hide the label element
		/// ({@link #fieldLabel label} and {@link #labelSeparator separator}). Defaults to &lt;tt&gt;false&lt;/tt&gt;.
		/// By default, even if you do not specify a &lt;tt&gt;{@link #fieldLabel}&lt;/tt&gt; the space will still be
		/// reserved so that the field will line up with other fields that do have labels.
		/// Setting this to &lt;tt&gt;true&lt;/tt&gt; will cause the field to not reserve that space.&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: see the note for &lt;tt&gt;{@link #clearCls}&lt;/tt&gt;.&lt;/p&gt;&lt;br&gt;
		/// Example use:&lt;pre&gt;&lt;code&gt;
		/// new Ext.FormPanel({
		/// height: 100,
		/// renderTo: Ext.getBody(),
		/// items: [{
		/// xtype: &apos;textfield&apos;
		/// hideLabel: true
		/// }]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("hideLabel")]
		public bool HideLabel;
		
		/// <summary>
		/// The CSS class used to to apply to the special clearing div rendered
		/// directly after each form field wrapper to provide field clearing (defaults to
		/// &apos;x-form-clear-left&apos;).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;The CSS class used to to apply to the special clearing div rendered
		/// directly after each form field wrapper to provide field clearing (defaults to
		/// &lt;tt&gt;&apos;x-form-clear-left&apos;&lt;/tt&gt;).&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this Component is rendered by a Container
		/// which has been configured to use the &lt;b&gt;{@link Ext.layout.FormLayout FormLayout}&lt;/b&gt; layout
		/// manager (e.g. {@link Ext.form.FormPanel} or specifying &lt;tt&gt;layout:&apos;form&apos;&lt;/tt&gt;) and either a
		/// &lt;tt&gt;{@link #fieldLabel}&lt;/tt&gt; is specified or &lt;tt&gt;isFormField=true&lt;/tt&gt; is specified.&lt;/p&gt;&lt;br&gt;
		/// &lt;p&gt;See {@link Ext.layout.FormLayout}.{@link Ext.layout.FormLayout#fieldTpl fieldTpl} also.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("clearCls")]
		public string ClearCls;
		
		/// <summary>
		/// Note: this config is only used when this Component is rendered by a Container which
		/// has been configured to use the {@link Ext.layout.FormLayout FormLayout} layout manager (e.g.
		/// {@link Ext.form.FormPanel} or specifying layout:&apos;form&apos;).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this Component is rendered by a Container which
		/// has been configured to use the &lt;b&gt;{@link Ext.layout.FormLayout FormLayout}&lt;/b&gt; layout manager (e.g.
		/// {@link Ext.form.FormPanel} or specifying &lt;tt&gt;layout:&apos;form&apos;&lt;/tt&gt;).&lt;/p&gt;&lt;br&gt;
		/// &lt;p&gt;An additional CSS class to apply to the div wrapping the form item
		/// element of this field. If supplied, &lt;tt&gt;itemCls&lt;/tt&gt; at the &lt;b&gt;field&lt;/b&gt; level will override
		/// the default &lt;tt&gt;itemCls&lt;/tt&gt; supplied at the &lt;b&gt;container&lt;/b&gt; level. The value specified for
		/// &lt;tt&gt;itemCls&lt;/tt&gt; will be added to the default class (&lt;tt&gt;&apos;x-form-item&apos;&lt;/tt&gt;).&lt;/p&gt;
		/// &lt;p&gt;Since it is applied to the item wrapper (see
		/// {@link Ext.layout.FormLayout}.{@link Ext.layout.FormLayout#fieldTpl fieldTpl}), it allows
		/// you to write standard CSS rules that can apply to the field, the label (if specified), or
		/// any other element within the markup for the field.&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: see the note for &lt;tt&gt;{@link #fieldLabel}&lt;/tt&gt;.&lt;/p&gt;&lt;br&gt;
		/// Example use:&lt;pre&gt;&lt;code&gt;
		/// // Apply a style to the field&amp;#39;s label:
		/// &amp;lt;style&gt;
		/// .required .x-form-item-label {font-weight:bold;color:red;}
		/// &amp;lt;/style&gt;
		///
		/// new Ext.FormPanel({
		/// height: 100,
		/// renderTo: Ext.getBody(),
		/// items: [{
		/// xtype: &apos;textfield&apos;,
		/// fieldLabel: &apos;Name&apos;,
		/// itemCls: &apos;required&apos; //this label will be styled
		/// },{
		/// xtype: &apos;textfield&apos;,
		/// fieldLabel: &apos;Favorite Color&apos;
		/// }]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("itemCls")]
		public string ItemCls;
		
		/// <summary>
		/// The unique id of this component (defaults to an {@link #getId auto-assigned id}).
		/// You should assign an id if you need to be able to access the component later and you do
		/// not have an object reference available (e.g., using {@link Ext}.{@link Ext#getCmp getCmp}).  Note that this id will also be used as the element id for the containing HTML element
		/// that is rendered to the page for this component. This allows you to write id-based CSS
		/// rules to style the specific instance of this component uniquely, and also to select
		/// sub-elements using this component&apos;s id as the parent.  Note: to avoid complications imposed by a unique id also see
		/// {@link #itemId} and {@link #ref}.  Note: to access the container of an item see {@link #ownerCt}.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;The &lt;b&gt;unique&lt;/b&gt; id of this component (defaults to an {@link #getId auto-assigned id}).
		/// You should assign an id if you need to be able to access the component later and you do
		/// not have an object reference available (e.g., using {@link Ext}.{@link Ext#getCmp getCmp}).&lt;/p&gt;
		/// &lt;p&gt;Note that this id will also be used as the element id for the containing HTML element
		/// that is rendered to the page for this component. This allows you to write id-based CSS
		/// rules to style the specific instance of this component uniquely, and also to select
		/// sub-elements using this component&apos;s id as the parent.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: to avoid complications imposed by a unique &lt;tt&gt;id&lt;/tt&gt; also see
		/// &lt;code&gt;{@link #itemId}&lt;/code&gt; and &lt;code&gt;{@link #ref}&lt;/code&gt;.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: to access the container of an item see &lt;code&gt;{@link #ownerCt}&lt;/code&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("id")]
		public string Id;
		
		/// <summary>
		/// An itemId can be used as an alternative way to get a reference to a component
		/// when no object reference is available. Instead of using an {@link #id} with
		/// {@link Ext}.{@link Ext#getCmp getCmp}, use itemId with
		/// {@link Ext.Container}.{@link Ext.Container#getComponent getComponent} which will retrieve
		/// itemId&apos;s or {@link #id}&apos;s. Since itemId&apos;s are an index to the
		/// container&apos;s internal MixedCollection, the itemId is scoped locally to the container --
		/// avoiding potential conflicts with {@link Ext.ComponentMgr} which requires a unique{@link #id}.  
		/// var c = new Ext.Panel({ //
		/// {@link Ext.BoxComponent#height height}: 300,
		/// {@link #renderTo}: document.body,
		/// {@link Ext.Container#layout layout}: &apos;auto&apos;,
		/// {@link Ext.Container#items items}: [
		/// {
		/// itemId: &apos;p1&apos;,
		/// {@link Ext.Panel#title title}: &apos;Panel 1&apos;,
		/// {@link Ext.BoxComponent#height height}: 150
		/// },
		/// {
		/// itemId: &apos;p2&apos;,
		/// {@link Ext.Panel#title title}: &apos;Panel 2&apos;,
		/// {@link Ext.BoxComponent#height height}: 150
		/// }
		/// ]
		/// })
		/// p1 = c.{@link...
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;An &lt;tt&gt;itemId&lt;/tt&gt; can be used as an alternative way to get a reference to a component
		/// when no object reference is available. Instead of using an &lt;code&gt;{@link #id}&lt;/code&gt; with
		/// {@link Ext}.{@link Ext#getCmp getCmp}, use &lt;code&gt;itemId&lt;/code&gt; with
		/// {@link Ext.Container}.{@link Ext.Container#getComponent getComponent} which will retrieve
		/// &lt;code&gt;itemId&lt;/code&gt;&apos;s or &lt;tt&gt;{@link #id}&lt;/tt&gt;&apos;s. Since &lt;code&gt;itemId&lt;/code&gt;&apos;s are an index to the
		/// container&apos;s internal MixedCollection, the &lt;code&gt;itemId&lt;/code&gt; is scoped locally to the container --
		/// avoiding potential conflicts with {@link Ext.ComponentMgr} which requires a &lt;b&gt;unique&lt;/b&gt;
		/// &lt;code&gt;{@link #id}&lt;/code&gt;.&lt;/p&gt;
		/// &lt;pre&gt;&lt;code&gt;
		/// var c = new Ext.Panel({ //
		/// {@link Ext.BoxComponent#height height}: 300,
		/// {@link #renderTo}: document.body,
		/// {@link Ext.Container#layout layout}: &apos;auto&apos;,
		/// {@link Ext.Container#items items}: [
		/// {
		/// itemId: &apos;p1&apos;,
		/// {@link Ext.Panel#title title}: &apos;Panel 1&apos;,
		/// {@link Ext.BoxComponent#height height}: 150
		/// },
		/// {
		/// itemId: &apos;p2&apos;,
		/// {@link Ext.Panel#title title}: &apos;Panel 2&apos;,
		/// {@link Ext.BoxComponent#height height}: 150
		/// }
		/// ]
		/// })
		/// p1 = c.{@link Ext.Container#getComponent getComponent}(&apos;p1&apos;); // not the same as {@link Ext#getCmp Ext.getCmp()}
		/// p2 = p1.{@link #ownerCt}.{@link Ext.Container#getComponent getComponent}(&apos;p2&apos;); // reference via a sibling
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;Also see &lt;tt&gt;{@link #id}&lt;/tt&gt; and &lt;code&gt;{@link #ref}&lt;/code&gt;.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: to access the container of an item see &lt;tt&gt;{@link #ownerCt}&lt;/tt&gt;.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("itemId")]
		public string ItemId;
		
		/// <summary>
		/// The registered xtype to create. This config option is not used when passing
		/// a config object into a constructor. This config option is used only when
		/// lazy instantiation is being used, and a child item of a Container is being
		/// specified not as a fully instantiated Component, but as a Component config
		/// object. The xtype will be looked up at render time up to determine what
		/// type of child Component to create.
		/// </summary>
		/// <htmlSummary>
		/// The registered &lt;tt&gt;xtype&lt;/tt&gt; to create. This config option is not used when passing
		/// a config object into a constructor. This config option is used only when
		/// lazy instantiation is being used, and a child item of a Container is being
		/// specified not as a fully instantiated Component, but as a &lt;i&gt;Component config
		/// object&lt;/i&gt;. The &lt;tt&gt;xtype&lt;/tt&gt; will be looked up at render time up to determine what
		/// type of child Component to create.&lt;br&gt;&lt;br&gt;
		/// The predefined xtypes are listed {@link Ext.Component here}.
		/// &lt;br&gt;&lt;br&gt;
		/// If you subclass Components to create your own Components, you may register
		/// them using {@link Ext.ComponentMgr#registerType} in order to be able to
		/// take advantage of lazy instantiation and rendering.
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("xtype")]
		public string Xtype;
		
		/// <summary>
		/// The registered ptype to create. This config option is not used when passing
		/// a config object into a constructor. This config option is used only when
		/// lazy instantiation is being used, and a Plugin is being
		/// specified not as a fully instantiated Component, but as a Component config
		/// object. The ptype will be looked up at render time up to determine what
		/// type of Plugin to create.
		/// </summary>
		/// <htmlSummary>
		/// The registered &lt;tt&gt;ptype&lt;/tt&gt; to create. This config option is not used when passing
		/// a config object into a constructor. This config option is used only when
		/// lazy instantiation is being used, and a Plugin is being
		/// specified not as a fully instantiated Component, but as a &lt;i&gt;Component config
		/// object&lt;/i&gt;. The &lt;tt&gt;ptype&lt;/tt&gt; will be looked up at render time up to determine what
		/// type of Plugin to create.&lt;br&gt;&lt;br&gt;
		/// If you create your own Plugins, you may register them using
		/// {@link Ext.ComponentMgr#registerPlugin} in order to be able to
		/// take advantage of lazy instantiation and rendering.
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("ptype")]
		public string Ptype;
		
		/// <summary>
		/// An optional extra CSS class that will be added to this component&apos;s Element when the mouse moves
		/// over the Element, and removed when the mouse moves out. (defaults to &apos;&apos;). This can be
		/// useful for adding customized &apos;active&apos; or &apos;hover&apos; styles to the component or any of its children using standard CSS rules.
		/// </summary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("overCls")]
		public string OverCls;
		
		/// <summary>
		/// A custom style specification to be applied to this component&apos;s Element. Should be a valid argument to
		/// {@link Ext.Element#applyStyles}.
		/// 
		/// new Ext.Panel({
		/// title: &apos;Some Title&apos;,
		/// renderTo: Ext.getBody(),
		/// width: 400, height: 300,
		/// layout: &apos;form&apos;,
		/// items: [{
		/// xtype: &apos;textarea&apos;,
		/// style: {
		/// width: &apos;95%&apos;,
		/// marginBottom: &apos;10px&apos;
		/// }
		/// },
		/// new Ext.Button({
		/// text: &apos;Send&apos;,
		/// minWidth: &apos;100&apos;,
		/// style: {
		/// marginBottom: &apos;10px&apos;
		/// }
		/// })
		/// ]
		/// });
		/// </summary>
		/// <htmlSummary>
		/// A custom style specification to be applied to this component&apos;s Element. Should be a valid argument to
		/// {@link Ext.Element#applyStyles}.
		/// &lt;pre&gt;&lt;code&gt;
		/// new Ext.Panel({
		/// title: &apos;Some Title&apos;,
		/// renderTo: Ext.getBody(),
		/// width: 400, height: 300,
		/// layout: &apos;form&apos;,
		/// items: [{
		/// xtype: &apos;textarea&apos;,
		/// style: {
		/// width: &apos;95%&apos;,
		/// marginBottom: &apos;10px&apos;
		/// }
		/// },
		/// new Ext.Button({
		/// text: &apos;Send&apos;,
		/// minWidth: &apos;100&apos;,
		/// style: {
		/// marginBottom: &apos;10px&apos;
		/// }
		/// })
		/// ]
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("style")]
		public string Style;
		
		/// <summary>
		/// An optional extra CSS class that will be added to this component&apos;s container. This can be useful for
		/// adding customized styles to the container or any of its children using standard CSS rules. See
		/// {@link Ext.layout.ContainerLayout}.{@link Ext.layout.ContainerLayout#extraCls extraCls} also.  Note: ctCls defaults to &apos;&apos; except for the following class
		/// which assigns a value by default:
		///   {@link Ext.layout.Box Box Layout} : &apos;x-box-layout-ct&apos;   
		/// To configure the above Class with an extra CSS class append to the default. For example,
		/// for BoxLayout (Hbox and Vbox): 
		/// ctCls: &apos;x-box-layout-ct custom-class&apos;
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;An optional extra CSS class that will be added to this component&apos;s container. This can be useful for
		/// adding customized styles to the container or any of its children using standard CSS rules. See
		/// {@link Ext.layout.ContainerLayout}.{@link Ext.layout.ContainerLayout#extraCls extraCls} also.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: &lt;tt&gt;ctCls&lt;/tt&gt; defaults to &lt;tt&gt;&apos;&apos;&lt;/tt&gt; except for the following class
		/// which assigns a value by default:
		/// &lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;{@link Ext.layout.Box Box Layout} : &lt;tt&gt;&apos;x-box-layout-ct&apos;&lt;/tt&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// To configure the above Class with an extra CSS class append to the default. For example,
		/// for BoxLayout (Hbox and Vbox):&lt;pre&gt;&lt;code&gt;
		/// ctCls: &apos;x-box-layout-ct custom-class&apos;
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("ctCls")]
		public string CtCls;
		
		/// <summary>
		/// Render this component hidden (default is false). If true, the
		/// {@link #hide} method will be called internally.
		/// </summary>
		/// <htmlSummary>
		/// Render this component hidden (default is false). If &lt;tt&gt;true&lt;/tt&gt;, the
		/// {@link #hide} method will be called internally.
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("hidden")]
		public bool Hidden;
		
		/// <summary>
		/// An object or array of objects that will provide custom functionality for this component. The only
		/// requirement for a valid plugin is that it contain an init method that accepts a reference of type Ext.Component.
		/// When a component is created, if any plugins are available, the component will call the init method on each
		/// plugin, passing a reference to itself. Each plugin can then call methods or respond to events on the
		/// component as needed to provide its functionality.
		/// </summary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("plugins")]
		public ext.auto.System_Object_Or_System_Array Plugins;
		
		/// <summary>
		/// Specify the id of the element, a DOM element or an existing Element corresponding to a DIV
		/// that is already present in the document that specifies some structural markup for this
		/// component.    Description :   When applyTo is used, constituent parts of the component can also be specified
		/// by id or CSS class name within the main element, and the component being created may attempt
		/// to create its subcomponents from that markup if applicable.    Notes :   When using this config, a call to render() is not required.  If applyTo is specified, any value passed for {@link #renderTo} will be ignored and the target
		/// element&apos;s parent node will automatically be used as the component&apos;s container.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Specify the id of the element, a DOM element or an existing Element corresponding to a DIV
		/// that is already present in the document that specifies some structural markup for this
		/// component.&lt;/p&gt;&lt;div&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;Description&lt;/b&gt; : &lt;ul&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;When &lt;tt&gt;applyTo&lt;/tt&gt; is used, constituent parts of the component can also be specified
		/// by id or CSS class name within the main element, and the component being created may attempt
		/// to create its subcomponents from that markup if applicable.&lt;/div&gt;
		/// &lt;/ul&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;Notes&lt;/b&gt; : &lt;ul&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;When using this config, a call to render() is not required.&lt;/div&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;If applyTo is specified, any value passed for {@link #renderTo} will be ignored and the target
		/// element&apos;s parent node will automatically be used as the component&apos;s container.&lt;/div&gt;
		/// &lt;/ul&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("applyTo")]
		public object ApplyTo;
		
		/// <summary>
		/// Specify the id of the element, a DOM element or an existing Element that this component
		/// will be rendered into.    Notes :   Do not use this option if the Component is to be a child item of
		/// a {@link Ext.Container Container}. It is the responsibility of the
		/// {@link Ext.Container Container}&apos;s {@link Ext.Container#layout layout manager}
		/// to render and manage its child items.  When using this config, a call to render() is not required.      See {@link #render} also.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Specify the id of the element, a DOM element or an existing Element that this component
		/// will be rendered into.&lt;/p&gt;&lt;div&gt;&lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;Notes&lt;/b&gt; : &lt;ul&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;Do &lt;u&gt;not&lt;/u&gt; use this option if the Component is to be a child item of
		/// a {@link Ext.Container Container}. It is the responsibility of the
		/// {@link Ext.Container Container}&apos;s {@link Ext.Container#layout layout manager}
		/// to render and manage its child items.&lt;/div&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;When using this config, a call to render() is not required.&lt;/div&gt;
		/// &lt;/ul&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// &lt;p&gt;See &lt;tt&gt;{@link #render}&lt;/tt&gt; also.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("renderTo")]
		public object RenderTo;
		
		/// <summary>
		/// A flag which causes the Component to attempt to restore the state of
		/// internal properties from a saved state on startup. The component must have
		/// either a {@link #stateId} or {@link #id} assigned
		/// for state to be managed. Auto-generated ids are not guaranteed to be stable
		/// across page loads and cannot be relied upon to save and restore the same
		/// state for a component.  For state saving to work, the state manager&apos;s provider must have been
		/// set to an implementation of {@link Ext.state.Provider} which overrides the
		/// {@link Ext.state.Provider#set set} and {@link Ext.state.Provider#get get}
		/// methods to save and recall name/value pairs. A built-in implementation,
		/// {@link Ext.state.CookieProvider} is available.  To set the state provider for the current page:  
		/// Ext.state.Manager.setProvider(new Ext.state.CookieProvider({
		/// expires: new Date(new Date().getTime()+(1000*60*60*24*7)), //7 days from now
		/// }));
		///  A stateful Component attempts to save state when one of the events
		/// listed in the...
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A flag which causes the Component to attempt to restore the state of
		/// internal properties from a saved state on startup. The component must have
		/// either a &lt;code&gt;{@link #stateId}&lt;/code&gt; or &lt;code&gt;{@link #id}&lt;/code&gt; assigned
		/// for state to be managed. Auto-generated ids are not guaranteed to be stable
		/// across page loads and cannot be relied upon to save and restore the same
		/// state for a component.&lt;p&gt;
		/// &lt;p&gt;For state saving to work, the state manager&apos;s provider must have been
		/// set to an implementation of {@link Ext.state.Provider} which overrides the
		/// {@link Ext.state.Provider#set set} and {@link Ext.state.Provider#get get}
		/// methods to save and recall name/value pairs. A built-in implementation,
		/// {@link Ext.state.CookieProvider} is available.&lt;/p&gt;
		/// &lt;p&gt;To set the state provider for the current page:&lt;/p&gt;
		/// &lt;pre&gt;&lt;code&gt;
		/// Ext.state.Manager.setProvider(new Ext.state.CookieProvider({
		/// expires: new Date(new Date().getTime()+(1000*60*60*24*7)), //7 days from now
		/// }));
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;A stateful Component attempts to save state when one of the events
		/// listed in the &lt;code&gt;{@link #stateEvents}&lt;/code&gt; configuration fires.&lt;/p&gt;
		/// &lt;p&gt;To save state, a stateful Component first serializes its state by
		/// calling &lt;b&gt;&lt;code&gt;getState&lt;/code&gt;&lt;/b&gt;. By default, this function does
		/// nothing. The developer must provide an implementation which returns an
		/// object hash which represents the Component&apos;s restorable state.&lt;/p&gt;
		/// &lt;p&gt;The value yielded by getState is passed to {@link Ext.state.Manager#set}
		/// which uses the configured {@link Ext.state.Provider} to save the object
		/// keyed by the Component&apos;s &lt;code&gt;{@link stateId}&lt;/code&gt;, or, if that is not
		/// specified, its &lt;code&gt;{@link #id}&lt;/code&gt;.&lt;/p&gt;
		/// &lt;p&gt;During construction, a stateful Component attempts to &lt;i&gt;restore&lt;/i&gt;
		/// its state by calling {@link Ext.state.Manager#get} passing the
		/// &lt;code&gt;{@link #stateId}&lt;/code&gt;, or, if that is not specified, the
		/// &lt;code&gt;{@link #id}&lt;/code&gt;.&lt;/p&gt;
		/// &lt;p&gt;The resulting object is passed to &lt;b&gt;&lt;code&gt;applyState&lt;/code&gt;&lt;/b&gt;.
		/// The default implementation of &lt;code&gt;applyState&lt;/code&gt; simply copies
		/// properties into the object, but a developer may override this to support
		/// more behaviour.&lt;/p&gt;
		/// &lt;p&gt;You can perform extra processing on state save and restore by attaching
		/// handlers to the {@link #beforestaterestore}, {@link #staterestore},
		/// {@link #beforestatesave} and {@link #statesave} events.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("stateful")]
		public bool Stateful;
		
		/// <summary>
		/// The unique id for this component to use for state management purposes
		/// (defaults to the component id if one was set, otherwise null if the
		/// component is using a generated id).
		/// See {@link #stateful} for an explanation of saving and
		/// restoring Component state.
		/// </summary>
		/// <htmlSummary>
		/// The unique id for this component to use for state management purposes
		/// (defaults to the component id if one was set, otherwise null if the
		/// component is using a generated id).
		/// &lt;p&gt;See &lt;code&gt;{@link #stateful}&lt;/code&gt; for an explanation of saving and
		/// restoring Component state.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("stateId")]
		public string StateId;
		
		/// <summary>
		/// An array of events that, when fired, should trigger this component to
		/// save its state (defaults to none). stateEvents may be any type
		/// of event supported by this component, including browser or custom events
		/// (e.g., [&apos;click&apos;, &apos;customerchange&apos;]).  See {@link #stateful} for an explanation of saving and
		/// restoring Component state.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;An array of events that, when fired, should trigger this component to
		/// save its state (defaults to none). &lt;code&gt;stateEvents&lt;/code&gt; may be any type
		/// of event supported by this component, including browser or custom events
		/// (e.g., &lt;tt&gt;[&apos;click&apos;, &apos;customerchange&apos;]&lt;/tt&gt;).&lt;/p&gt;
		/// &lt;p&gt;See &lt;code&gt;{@link #stateful}&lt;/code&gt; for an explanation of saving and
		/// restoring Component state.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("stateEvents")]
		public System.Array StateEvents;
		
		/// <summary>CSS class added to the component when it is disabled (defaults to &apos;x-item-disabled&apos;).</summary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("disabledClass")]
		public string DisabledClass;
		
		/// <summary>Whether the component can move the Dom node when rendering (defaults to true).</summary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("allowDomMove")]
		public bool AllowDomMove;
		
		/// <summary>
		/// True if the component should check for hidden classes (e.g. &apos;x-hidden&apos; or &apos;x-hide-display&apos;) and remove
		/// them on render (defaults to false).
		/// </summary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("autoShow")]
		public bool AutoShow;
		
		/// <summary>
		/// How this component should be hidden. Supported values are &apos;visibility&apos;
		/// (css visibility), &apos;offsets&apos; (negative offset position) and &apos;display&apos;
		/// (css display).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;How this component should be hidden. Supported values are &lt;tt&gt;&apos;visibility&apos;&lt;/tt&gt;
		/// (css visibility), &lt;tt&gt;&apos;offsets&apos;&lt;/tt&gt; (negative offset position) and &lt;tt&gt;&apos;display&apos;&lt;/tt&gt;
		/// (css display).&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: the default of &lt;tt&gt;&apos;display&apos;&lt;/tt&gt; is generally preferred
		/// since items are automatically laid out when they are first shown (no sizing
		/// is done while hidden).&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("hideMode")]
		public string HideMode;
		
		/// <summary>
		/// True to hide and show the component&apos;s container when hide/show is called on the component, false to hide
		/// and show the component itself (defaults to false). For example, this can be used as a shortcut for a hide
		/// button on a window by setting hide:true on the button when adding it to its parent container.
		/// </summary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("hideParent")]
		public bool HideParent;
		
		/// <summary>
		/// Optional. Specify an existing HTML element, or the id of an existing HTML element to use as the content
		/// for this component.   Description :
		/// This config option is used to take an existing HTML element and place it in the layout element
		/// of a new component (it simply moves the specified DOM element after the Component is rendered to use as the content.   Notes :
		/// The specified HTML element is appended to the layout element of the component after any configured
		/// {@link #html HTML} has been inserted, and so the document will not contain this element at the time the {@link #render} event is fired.  The specified HTML element used will not participate in any {@link Ext.Container#layout layout}
		/// scheme that the Component may use. It is just HTML. Layouts operate on child {@link Ext.Container#items items}.  Add either the x-hidden or the x-hide-display CSS class to
		/// prevent a brief flicker of the content before it is rendered to the panel.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Optional. Specify an existing HTML element, or the &lt;code&gt;id&lt;/code&gt; of an existing HTML element to use as the content
		/// for this component.&lt;/p&gt;
		/// &lt;ul&gt;
		/// &lt;li&gt;&lt;b&gt;Description&lt;/b&gt; :
		/// &lt;div class=&quot;sub-desc&quot;&gt;This config option is used to take an existing HTML element and place it in the layout element
		/// of a new component (it simply moves the specified DOM element &lt;i&gt;after the Component is rendered&lt;/i&gt; to use as the content.&lt;/div&gt;&lt;/li&gt;
		/// &lt;li&gt;&lt;b&gt;Notes&lt;/b&gt; :
		/// &lt;div class=&quot;sub-desc&quot;&gt;The specified HTML element is appended to the layout element of the component &lt;i&gt;after any configured
		/// {@link #html HTML} has been inserted&lt;/i&gt;, and so the document will not contain this element at the time the {@link #render} event is fired.&lt;/div&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;The specified HTML element used will not participate in any &lt;code&gt;&lt;b&gt;{@link Ext.Container#layout layout}&lt;/b&gt;&lt;/code&gt;
		/// scheme that the Component may use. It is just HTML. Layouts operate on child &lt;code&gt;&lt;b&gt;{@link Ext.Container#items items}&lt;/b&gt;&lt;/code&gt;.&lt;/div&gt;
		/// &lt;div class=&quot;sub-desc&quot;&gt;Add either the &lt;code&gt;x-hidden&lt;/code&gt; or the &lt;code&gt;x-hide-display&lt;/code&gt; CSS class to
		/// prevent a brief flicker of the content before it is rendered to the panel.&lt;/div&gt;&lt;/li&gt;
		/// &lt;/ul&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("contentEl")]
		public string ContentEl;
		
		/// <summary>
		/// An HTML fragment, or a {@link Ext.DomHelper DomHelper} specification to use as the layout element
		/// content (defaults to &apos;&apos;). The HTML content is added after the component is rendered,
		/// so the document will not contain this HTML at the time the {@link #render} event is fired.
		/// This content is inserted into the body before any configured {@link #contentEl} is appended.
		/// </summary>
		/// <htmlSummary>
		/// An HTML fragment, or a {@link Ext.DomHelper DomHelper} specification to use as the layout element
		/// content (defaults to &apos;&apos;). The HTML content is added after the component is rendered,
		/// so the document will not contain this HTML at the time the {@link #render} event is fired.
		/// This content is inserted into the body &lt;i&gt;before&lt;/i&gt; any configured {@link #contentEl} is appended.
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("html")]
		public ext.auto.System_String_Or_System_Object Html;
		
		/// <summary>
		/// The Ext.(X)Template method to use when
		/// updating the content area of the Component. Defaults to &apos;overwrite&apos;
		/// (see {@link Ext.XTemplate#overwrite}).
		/// </summary>
		/// <htmlSummary>
		/// The Ext.(X)Template method to use when
		/// updating the content area of the Component. Defaults to &lt;tt&gt;&apos;overwrite&apos;&lt;/tt&gt;
		/// (see &lt;code&gt;{@link Ext.XTemplate#overwrite}&lt;/code&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("tplWriteMode")]
		public string TplWriteMode;
		
		/// <summary>
		/// The initial set of data to apply to the {@link #tpl} to
		/// update the content area of the Component.
		/// </summary>
		/// <htmlSummary>
		/// The initial set of data to apply to the &lt;code&gt;{@link #tpl}&lt;/code&gt; to
		/// update the content area of the Component.
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("data")]
		public object Data;
		
		/// <summary>
		/// An array of events that, when fired, should be bubbled to any parent container.
		/// See {@link Ext.util.Observable#enableBubble}.
		/// Defaults to [].
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;An array of events that, when fired, should be bubbled to any parent container.
		/// See {@link Ext.util.Observable#enableBubble}.
		/// Defaults to &lt;tt&gt;[]&lt;/tt&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("bubbleEvents")]
		public System.Array BubbleEvents;
		
		/// <summary>
		/// A path specification, relative to the Component&apos;s {@link #ownerCt}
		/// specifying into which ancestor Container to place a named reference to this Component.  The ancestor axis can be traversed by using &apos;/&apos; characters in the path.
		/// For example, to put a reference to a Toolbar Button into the Panel which owns the Toolbar:  
		/// var myGrid = new Ext.grid.EditorGridPanel({
		/// title: &apos;My EditorGridPanel&apos;,
		/// store: myStore,
		/// colModel: myColModel,
		/// tbar: [{
		/// text: &apos;Save&apos;,
		/// handler: saveChanges,
		/// disabled: true,
		/// ref: &apos;../saveButton&apos;
		/// }],
		/// listeners: {
		/// afteredit: function() {
		/// // The button reference is in the GridPanel
		/// myGrid.saveButton.enable();
		/// }
		/// }
		/// });
		///  In the code above, if the ref had been &apos;saveButton&apos;
		/// the reference would have been placed into the Toolbar. Each &apos;/&apos; in the ref
		/// moves up one level from the Component&apos;s {@link #ownerCt}.  Also see the {@link #added} and {@link #removed} events.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A path specification, relative to the Component&apos;s &lt;code&gt;{@link #ownerCt}&lt;/code&gt;
		/// specifying into which ancestor Container to place a named reference to this Component.&lt;/p&gt;
		/// &lt;p&gt;The ancestor axis can be traversed by using &apos;/&apos; characters in the path.
		/// For example, to put a reference to a Toolbar Button into &lt;i&gt;the Panel which owns the Toolbar&lt;/i&gt;:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// var myGrid = new Ext.grid.EditorGridPanel({
		/// title: &apos;My EditorGridPanel&apos;,
		/// store: myStore,
		/// colModel: myColModel,
		/// tbar: [{
		/// text: &apos;Save&apos;,
		/// handler: saveChanges,
		/// disabled: true,
		/// ref: &apos;../saveButton&apos;
		/// }],
		/// listeners: {
		/// afteredit: function() {
		/// // The button reference is in the GridPanel
		/// myGrid.saveButton.enable();
		/// }
		/// }
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;In the code above, if the &lt;code&gt;ref&lt;/code&gt; had been &lt;code&gt;&apos;saveButton&apos;&lt;/code&gt;
		/// the reference would have been placed into the Toolbar. Each &apos;/&apos; in the &lt;code&gt;ref&lt;/code&gt;
		/// moves up one level from the Component&apos;s &lt;code&gt;{@link #ownerCt}&lt;/code&gt;.&lt;/p&gt;
		/// &lt;p&gt;Also see the &lt;code&gt;{@link #added}&lt;/code&gt; and &lt;code&gt;{@link #removed}&lt;/code&gt; events.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\Component.js</definedin>
		[ScriptName("ref")]
		public string Ref;
		
		/// <summary>
		/// A config object containing one or more event handlers to be added to this
		/// object during initialization. This should be a valid listeners config object as specified in the
		/// {@link #addListener} example for attaching multiple handlers at once.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;A config object containing one or more event handlers to be added to this
		/// object during initialization. This should be a valid listeners config object as specified in the
		/// {@link #addListener} example for attaching multiple handlers at once.&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;&lt;b&gt;&lt;u&gt;DOM events from ExtJs {@link Ext.Component Components}&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;
		/// &lt;br&gt;&lt;p&gt;While &lt;i&gt;some&lt;/i&gt; ExtJs Component classes export selected DOM events (e.g. &quot;click&quot;, &quot;mouseover&quot; etc), this
		/// is usually only done when extra value can be added. For example the {@link Ext.DataView DataView}&apos;s
		/// &lt;b&gt;&lt;code&gt;{@link Ext.DataView#click click}&lt;/code&gt;&lt;/b&gt; event passing the node clicked on. To access DOM
		/// events directly from a Component&apos;s HTMLElement, listeners must be added to the &lt;i&gt;{@link Ext.Component#getEl Element}&lt;/i&gt; after the Component
		/// has been rendered. A plugin can simplify this step:&lt;pre&gt;&lt;code&gt;
		/// // Plugin is configured with a listeners config object.
		/// // The Component is appended to the argument list of all handler functions.
		/// Ext.DomObserver = Ext.extend(Object, {
		/// constructor: function(config) {
		/// this.listeners = config.listeners ? config.listeners : config;
		/// },
		///
		/// // Component passes itself into plugin&amp;#39;s init method
		/// init: function(c) {
		/// var p, l = this.listeners;
		/// for (p in l) {
		/// if (Ext.isFunction(l[p])) {
		/// l[p] = this.createHandler(l[p], c);
		/// } else {
		/// l[p].fn = this.createHandler(l[p].fn, c);
		/// }
		/// }
		///
		/// // Add the listeners to the Element immediately following the render call
		/// c.render = c.render.{@link Function#createSequence createSequence}(function() {
		/// var e = c.getEl();
		/// if (e) {
		/// e.on(l);
		/// }
		/// });
		/// },
		///
		/// createHandler: function(fn, c) {
		/// return function(e) {
		/// fn.call(this, e, c);
		/// };
		/// }
		/// });
		///
		/// var combo = new Ext.form.ComboBox({
		///
		/// // Collapse combo when its element is clicked on
		/// plugins: [ new Ext.DomObserver({
		/// click: function(evt, comp) {
		/// comp.collapse();
		/// }
		/// })],
		/// store: myStore,
		/// typeAhead: true,
		/// mode: &apos;local&apos;,
		/// triggerAction: &apos;all&apos;
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\ext-core\src\util\Observable.js</definedin>
		/// <optional>Optional Field</optional>
		[ScriptName("listeners")]
		public object Listeners;
		#endregion
	}
}
